//===================================================================================
// $$
//
//
// Code By: Code Milker V2
// Date On: 2013//
//===================================================================================

namespace Forest.Lion.Data
{
    using System;

    using System.Collections.Generic;
    using Forest.Lion.Model;
    using Forest.Lion.Infrastructure;
    using System.Linq;

    public interface IJobPositionRepository
    {
        void Create(JobPosition jobPosition);
        JobPosition GetJobPosition(Guid jobPositionId);
        void Update(JobPosition jobPosition);
        void Delete(Guid jobPositionId);
        IEnumerable<JobPosition> Find();

        IEnumerable<JobPosition> GetAll();

        IQueryable<JobPosition> All();

        IPagedList<JobPosition> SearchList(Guid companyId, JobPositionStatus? status, bool deleted, String keyword, int pageIndex, int pageSize);

        IEnumerable<JobPosition> GetOverdueList(Guid companyId);
    }
}
